home *** CD-ROM | disk | FTP | other *** search
- eDOOR v.9b! (c) 1995-96 by Tom Fotherby/enigma
-
- Features:
- ·Supports ALL com ports & irq's (Fossil Driver req'ed)
- ·Locked baud rates up to 115,200bps!
- ·ANSi Emulation built-in! (ansi.sys not needed under any circumstances)
- ·DOOR.SYS and Dorinfo#.DEF Support!
- ·DesqView, OS/2, Windows, and Dos time slicing routines.
- ·So simple to use, my Rabbit could program a door with this.. 8)
- ·It's being constantly updated with NEW and IMPROVED features!
- ·Registration fee is ONLY $10! Free Upgrades!!
-
- Introduction...
- ---------------
- This door-making kit is designed to let anyone with a basic knowlege of
- Turbo Pascal create doors, whether it be a door game, or a one liners
- program! All you need is Turbo Pascal 7.0 and a little creativity.
-
- Installation
- ~~~~~~~~~~~~
- Just copy 'Door.Tpu' into your Units directory (usually 'C:\TP\UNITS')
-
- Lets cut to the programming!
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- To impliment the door routines into your program, you must add "Door"
- To your uses statement.
- Example:
-
- Uses Door;
-
- Now you're ready to begin!
-
- Structure of the config file.
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The config file is just a standard text file, with the following lines in
- it. For refrence, i've included a sample config file named 'SAMPLE.CFG'
- to get ya started.
-
- Line #1 - The name of the BBS
- Line #2 - Sysop's name (first/last)
- Line #3 - drop file type ("door.sys" for door.sys systems, "dorinfo.def" for
- dorinfo#.def systems)
- Line #4 - The locked baud rate. If none, then set this to 0.
-
- Parameters
- ~~~~~~~~~~
- This is a list of Parameters that can be used (after you compile your door!)
-
- /N# - # is the node number, ex. door.exe /N1
- /B# - Sets the locked baud rate to #, ex. door.exe /B57600
- /D? - The path to where the Drop file may be found, ex. door.exe /Dc:\bbs
-
- Loading the config file for the door..
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Cfgfn:='file.cfg';
- LoadCfg;
- This will initialize the door with the config/drop files. The
- Config file name is stored in variable "Cfgfn".
- (Refer to 'Structure of the Config File')
-
- Output Procedures..
- ~~~~~~~~~~~~~~~~~~~
- DClrScr;
- Clears Local/Remote screens.
-
- DWrite(s: string);
- Writes a string to local/remote.
-
- DWriteln(s: string);
- Writes a string to local/remote, and adds a carriage return/line feed.
-
- DWritei(i: integer);
- Writes an integer to local/remote.
-
- DWriteiln(i: integer);
- Writes an integer to local/remote, and adds a cr/lf.
-
- DWriteli(i: integer);
- Writes a longint to local/remote.
-
- DWriteliln(i: integer);
- Writes a longint to local/remote, and adds a cr/lf.
-
- Crlf;
- Just prints up a blank line. I got sick of doing a "dwriteln('');"
- every time i wanted to print up a blank line, so i thought this
- little procedure would save some time.
-
- DGotoXY(x: byte, y: byte);
- Equivilant of GOTOXY(x,y), use this instead. It puts the cursor
- position at x,y. *NOTE* this only works if the user has ANSi
- Emulation!
-
- TypeFile(filename: string, continue: boolean);
- This will display a ans/asc file both locally and remotely..
- Example:
-
- TypeFile('help', true);
-
- This will display the file Help.ans/Help.asc/Help rip, (depending
- on which graphics emulation the remote side supports) With a
- 'More [Y/n]?' prompt every 24 lines. (this prompt is configurable,
- see below!!) Also, you may specify a file extention, but it will
- ONLY display that file, it WON'T pick .asc/.ans/.rip depending on
- which graphics emulation the remote side has!!
-
- Moreyn: string;
- You SHOULD define this string if you use the TypeFile command!
- It is a prompt every 24 lines, asking the user 'More [Y/n]?'
- Heres how mine looks:
-
- Moreyn:='More [Y/n]?';
-
- --OR, if you want a colorized pause string, use Pipe codes!--
- (see section on pipe codes)
-
- Moreyn:='|09More |07[|11Y|07/|05n|07]';
-
- Colors!
- ~~~~~~~
- Fg(foreground: byte);
- Sets the foreground color.
-
- Bg(background: byte);
- Sets the Background color.
-
- Dcolor(foreground: byte; background: byte);
- Sets the foreground/background color..
-
- Foreground Colors Background Colors
-
- 0 - Black 8 - Dark Grey 0 - Black
- 1 - Dark Blue 9 - Light Blue 1 - Blue
- 2 - Dark Green 10 - Light Green 2 - Green
- 3 - Dark Cyan 11 - Light Cyan 3 - Cyan
- 4 - Dark Red 12 - Light Red 4 - Red
- 5 - Dark Magneta 13 - Light Magneta 5 - Magneta
- 6 - Dark Yellow 14 - Light Yellow 6 - Brown
- 7 - Gray 15 - White 7 - Gray
-
- DCW(s: string, color: byte);
- ColorWrite! Displays a string with the color of 'color'.
- Example:
-
- Dcw('Hello World!', 1);
-
- (would display 'Hello World!' in blue)
-
- This would be the SAME as doing:
-
- Fg(1);
- Dwrite('Hello World!');
-
- DCWLN(s: string, color: byte);
- ColorWriteln! Displays a string with the color of 'color'
- This is the same as above, but puts an enter after it outputs
- the string.
-
- DPipe(s: string);
- It converts a String with Renegade/Forum hack PiPE codes
- to colors! (Good for One Liners or text that changes colors a lot!)
- *ALSO* see section on pipe codes.
- Example:
-
- DPiPE('|01Blue |09LiGHT blue');
-
- DPipeln(s: string);
- Same as above, but puts a enter after it outputs the text..
-
- RndClr;
- Chooses a Random color, and sets the foreground to that color.
-
- RndClrStr(s: String);
- Outputs a String in random colors! (each letter in the string
- will be a different color)
- Example:
-
- RndClrStr('Hello there!');
-
- Spin(x, y, f, b, d: byte);
- A Spinner Pause prompt. X and Y are the coordinates, F, B are the
- Foreground/Background colors, and D is the delay between each spin
- Cycle. (To start out, use a delay of 30 or 50 for best results!)
-
- Dynlb(question, Yesno, Noyes: string): boolean; (function)
- This will display a yes/no lightbar. It uses Pipe codes (see section
- on pipe codes) to display the Yes/No selections.
- Example:
-
- x:=dynlb('Blah?', '|18|12 Yes |16 |01no ', '|16|01 yes |17 |12No |16');
- if x=true then dwriteln('You chose Yes')
- else dwriteln('You chose No');
-
- String Conversion Functions
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
- center(s: string): string;
- Centers a string.
- Example:
- DWriteln(center('this will be centered!'));
-
- strupcase(s: string): string;
- Converts a string to all uppercase.
-
- strlocase(s: string): string;
- Converts a string to all lowercase.
-
- itos(i: integer): string;
- Converts an integer to string.
-
- litos(li: longint): string;
- Converts a Longint to string.
-
- wtos(w: word): string;
- Converts a Word to string.
-
- btos(b: boolean): string;
- Converts a Boolean to string.
-
- These Functions will let you display other variable types with the DWrite,
- DPipe...etc. Procedures.
- Example:
- DWriteln(itos(1234));
-
- Input Procedures...
- ~~~~~~~~~~~~~~~~~~~
- DRead(s: string);
- Reads a STRING both locally and remote..
-
- DReadB(b: byte);
- Reads a BYTE from local/remote side.
-
- DReadC(ch: char);
- Reads a CHAR from the local/remote side.
-
- DReadI(n: integer);
- Reads an INTEGER from local/remote sides..
-
- DReadLI(n: longint);
- Reads a LONGINT from local/remote sides.
-
- DKeyPressed: Boolean;
- Equiv. of KeyPressed..
- Example:
-
- dwrite('Press a key to continue..');
- repeat until DKeyPressed;
-
- INPT(s: string; lengthofstring: integer; fg: integer; bg: integer);
- Inputs a string, with specifications/masked input.
- Example:
-
- inpt(blah, 20, 9, 0);
- dwriteln('You typed: '+blah);
-
- The above example will input a string with the maximum input length
- of 20 characters, with a foreground color of 9 (blue) and a back-
- ground color of 0 (black).
-
- General Variables
- ~~~~~~~~~~~~~~~~~
- Cfgfn: String;
- This variable holds the filename of the configuration file.
- If you do not define this, Cfgfn will default to 'door.cfg'.
-
- DoorName: String;
- Use this string to store the name of your program!
- *NOTE* You should define this variable with the name of your
- DOOR program!
-
- Bpsrate: integer;
- This one stores BPS rate.
-
- Bbsname: String;
- This Variable gives the bbs name (taken out of the drop file)
-
- Fg_Clr: byte;
- This variable stores the current foreground color.
-
- Bg_Clr: byte;
- This variable stores the current background color.
-
- Local: boolean;
- True if local, false if remote.
-
- Pause: boolean;
- If true, will display a 'Press a key to continue' prompt after
- every 24 lines. This defaults to false.
-
- Pausestr: string;
- It displayes this every 24 lines if Pause:=true.
- You *SHOULD* set this if you use Pause!
- Example..
- Pausestr:='>>Paused.. Press a key<<';
-
- Node: byte;
- Returns the current node #.. It is changed with the /N#
- parameter (where # = the node #)
-
- TimeOut: String;
- When a users time limit is overwith, it will display this
- string.. Example:
- TimeOut:='Your times up, returning to bbs!';
-
- Status: boolean;
- If true, it will display the status line at the bottom of the screen,
- if false, will NOT display the status line. This defaults to true.
-
- StatusFg: byte;
- The status line foreground color
-
- StatusBg: byte;
- The status line background color
-
- SysopF: string;
- The string that holds the Sysops 1st name (from config file)
-
- SysopL: string;
- The string that holds the Sysops last name (from config file)
-
- UserH: string;
- The users Handle
-
- UserF: string;
- The users 1st name
-
- UserL: string;
- The users last name
-
- UserAcs: word;
- The users Access level (on the bbs, taken from drop file);
-
- Pipe Codes, what are they/how do i use em?
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Pipe Codes are commonly used in BBS message bases to change colors of the
- text and stuff.. They are also a part of the DPipe and DPipeLn procedures!
- ...AND, they make changing colors alot, really easy!
-
- Without Pipe codes:
-
- fg(1);
- dwrite('Blue!');
- fg(2);
- dwrite('Green!');
- fg(5);
- dwrite('Purple!');
-
- With PIPE CODES and the DPipe/DPipeln procedure:
-
- dpipe('|01Blue! |02Green! |05Purple!');
-
- (Those two examples do exactly the same thing!)
-
- Heres a list of the pipe codes:
-
- |01 - Dark Blue |08 - Dark Grey |15 - White
- |02 - Dark Green |09 - Light Blue
- |03 - Dark Cyan |10 - Light Green
- |04 - Dark Red |11 - Light Cyan
- |05 - Dark Purple |12 - Light Red
- |06 - Dark Yellow |13 - Light Purple
- |07 - Grey |14 - Light Yellow
-
- Registration
- ~~~~~~~~~~~~
- Registration is a mere $10. If you decide to use this door, please use one
- of the two methods of registration.
- #1) Dial 1-900-622-8227, and enter "651-6472" when it asks you for a number.
- This call will cost you $10. Next, call The O-Zone (Support) bbs, and
- E-Mail enigma (sysop) with the code you have received from the 1-900#.
- #2) Send a $10 check or money order (made out to Tom Fotherby) to:
- Tom Fotherby/eDOOR
- 3535 Hadden
- Rochester, Mi 48306
-
- There is NO difference between the non-registered eDOOR and registered eDOOR.
- But if you find this program useful, and understand how many hours i've put
- into it, PLEASE register. Thanks! -enigma
-
- The O-Zone BBS
- (810) 651-6472
- eDOOR Support Site
- DiNK's Software support site
- virt! net WHQ
-